﻿using System;

//类型转换的工程
namespace 类型转换
{

    class Program
    {
        //类型转换三种概念
        // 1. 隐式转换 : 隐 隐藏过程，没有感知过程  ；转换 ，A 变成 B 的过程。
        // 2. 显式转换：显 有明显的申明过程的

        static void Main(string[] args)
        {
            // 隐式：
            float a = 1.99f;
            double b = 1.001;
            b = a;
            a = (float)b;  //有风险丢失数据，丢失精度
            char ch = 'a'; //97
            int chi = ch;


            // 显式转换
            int aa = 1;
            double bb = 0.4;
            var dd = aa + bb;
            int cc =(int) bb + aa;
            int cccc =(int)( bb + aa);
            char name = 'a';


            Console.WriteLine(dd);


            // Convert 转换  To 去哪儿 ，支持常用的基础类型之间进行互转 ，举一反三的

            int  aaa = Convert.ToInt32(aa+bb);

            var aacc = Convert.ToInt32(name); //toint32 转为了 整型，满足四舍五入的规则

            var aac = Convert.ToDouble(aa); // todouble 转为双精度

            var bbc = bb.ToString();
            var bbcc =Convert.ToString(bb); // Tostring 转为字符串 ，可以直接 用字段点出 tostring方法来代替

            // string 转 int 异常，知道自己在干什么。

            Console.WriteLine(bbc);
            Console.WriteLine(bbcc);

        }
    }
}
